package com.jingyanzi.channel.service;

import com.jingyanzi.channel.domain.ChannelDO;
import com.jingyanzi.channel.domain.ChannelTypeDO;
import com.jingyanzi.channel.query.ChannelQueryDO;
import com.jingyanzi.channel.result.ResultDO;

public interface IChannelService {

	/**
	 * 添加渠道信息
	 * 
	 * @param channelDO
	 * @return
	 */
	public ResultDO add(ChannelDO channelDO);

	/**
	 * 修改渠道信息
	 * 
	 * @param channelDO
	 * @return
	 */
	public ResultDO modifi(ChannelDO channelDO);

	/**
	 * 分配专员
	 * 
	 * @param channelDO
	 * @return
	 */
	public ResultDO toSpecialist(ChannelDO channelDO);

	/**
	 * 删除渠道信息
	 * 
	 * @param id
	 * @return
	 */
	public ResultDO remove(Integer[] ids);

	/**
	 * 返回渠道信息
	 * 
	 * @param id
	 * @return
	 */
	public ResultDO get(Integer id);

	/**
	 * 返回渠道信息
	 * 
	 * @param id
	 * @return
	 */
	public ResultDO getChannelByName(String channelName, Integer channelTypeId);

	/**
	 * 查询渠道信息
	 * 
	 * @param channelQueryDO
	 * @return
	 */
	public ResultDO query(ChannelQueryDO channelQueryDO);

	/**
	 * 渠道简称去重 <b>Description:</b><br>
	 * 
	 * @param domain
	 * @return
	 */
	public ResultDO checkRepeat(ChannelDO domain);
	
	/**
	 * 渠道全称去重 <b>Description:</b><br>
	 * 
	 * @param domain
	 * @return
	 */
	public ResultDO checkFullNameRepeat(ChannelDO domain);

}
